package com.woniu.mealsService.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author jiang
 * @since 2024年12月10日
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("order_product")
public class OrderProduct implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单id
     */
    @TableId(value = "order_id", type = IdType.AUTO)
    private String orderId;

    /**
     * 店铺id
     */
    @TableField("store_id")
    private String storeId;

    /**
     * 店铺名字
     */
    @TableField("store_name")
    private String storeName;

    /**
     * 店铺电话
     */
    @TableField("store_phone")
    private String storePhone;

    /**
     * 菜品数组
     */
    @TableField("product_ids")
    private String productIds;

    /**
     * 订单总额
     */
    @TableField("order_amount")
    private BigDecimal orderAmount;
    /**
     * 订单折算前总价
     */
    @TableField("order_dis_amount")
    private BigDecimal orderDisAmount;
    /**
     * 用户id
     */
    @TableField("user_id")
    private String userId;

    /**
     * 用户名
     */
    @TableField("user_name")
    private String userName;

    /**
     * 用户电话
     */
    @TableField("user_phone")
    private String userPhone;

    /**
     * 送餐地址
     */
    @TableField("user_address")
    private String userAddress;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 0 未支付 1已支付 2 准备中3配送中4已送达5已取消6已退款7等待商家接单8已关闭订单
     */
    @TableField("order_state")
    private Integer orderState;

    /**
     * 支付方式
     */
    @TableField("pay_method")
    private String payMethod;

    /**
     * 订单生成时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 支付时间
     */
    @TableField("pay_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String payTime;

    /**
     * 配送时间
     */
    @TableField("delivery_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String deliveryTime;

    /**
     * 送达时间
     */
    @TableField("delivered_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String deliveredTime;

    /**
     * 取消时间
     */
    @TableField("cancelled_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String cancelledTime;

    /**
     * 退款时间
     */
    @TableField("refunded_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String refundedTime;

    /**
     * 订单关闭时间
     */
    @TableField("close_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String closeTime;
}
